package fun.sanguo.service.record;

import fun.sanguo.model.dto.*;
import fun.sanguo.model.dto.record.*;
import fun.sanguo.utils.exception.ArtificialException;

/**
 * 内容管理-人物列表 Service接口
 *
 * @author ZYP
 * @date 2023-04-23
 */
public interface RecordPersonageService {

    /**
     * 查询页面table列表
     *
     * @param pageQuery
     * @return
     * @throws ArtificialException
     */
    PageInfo<RecordPersonageResult> getPage(PageQuery<RecordPersonageParam> pageQuery) throws ArtificialException;

    /**
     * 新增
     *
     * @param pageInsert
     * @return
     * @throws ArtificialException
     */
    boolean insert(PageInsert<RecordPersonageInsert> pageInsert) throws ArtificialException;

    /**
     * 编辑
     *
     * @param pageUpdate
     * @return
     * @throws ArtificialException
     */
    boolean update(PageUpdate<RecordPersonageUpdate> pageUpdate) throws ArtificialException;

    /**
     * 删除
     *
     * @param pageUpdate
     * @return
     * @throws ArtificialException
     */
    boolean delete(PageUpdate<RecordPersonageUpdate> pageUpdate) throws ArtificialException;

    /**
     * 查询详情
     *
     * @param dataQuery
     * @return
     * @throws ArtificialException
     */
    DataInfo<RecordPersonageDetailResult> getDetail(DataQuery<RecordPersonageDetailParam> dataQuery) throws ArtificialException;
}
